package syntaxcolor.v4.syntaxcolor.rule;

import org.eclipse.swt.custom.StyleRange;

import syntaxcolor.v4.syntaxcolor.scanner.Scanner;
import syntaxcolor.v4.syntaxcolor.token.Token;

public interface IRule {

	/**
	 * 计算是否能得到符合本规则的着色分段
	 * 
	 * @param scanner
	 * @return
	 */
	Token evaluate(Scanner scanner);

	/**
	 * 与此规则相关联的文字样式
	 * 
	 * @return
	 */
	StyleRange getStyle();

	/**
	 * 规则标识
	 * 
	 * @return
	 */
	String getName();
}
